1. Field of Invention
The present invention relates to database systems. More specifically, the invention relates to an application programming interface (API) testing system which enables API frameworks and application code to be efficiently tested.
2. Description of the Related Art
An application programming interface (API) is the interface used, or the calling conventions used, to allow an application program to access an operating system, as well as other system resources. APIs are often defined at a source code level, and effectively enable a level of abstraction to be present between an application program and a kernel. In some instances, an API may provide an interface between a high level language and lower level services, particularly those services or utilities which may have been written without taking into account calling conventions of compiled languages.
Testing of framework and application code associated with APIs is important to ensure that APIs function as intended. Without thorough testing of the framework and the application code associated with APIs, any errors or other unexpected results which may occur when an API is put into use may not be found until the API is used. When an API that is in use fails to function as intended, an application program which uses the API may be prevented from operating as desired.
Typically, for each test case associated with an API, a specific API test is coded and developed. The requirements for valid API tests on a framework and application code may be prohibitive in that a generally high number of tests are typically needed, and many issues may arise relating to the management of the tests. Hence, the requirements for comprehensive API tests on a framework and application code are often considered to be too extensive for comprehensive tests to be productive. As a result, API tests are likely to only be written to test code or test cases which are considered to be critical. In other words, not all test cases may be thoroughly tested.
When only some test cases associated with an API are subjected to API testing, the reliability of the API may be compromised, as the framework and application code associated with the API is not fully tested. Since the overhead and the overall costs associated with comprehensively testing the framework and application code associated with the API are generally prohibitive, many developers and users are electing to write API tests for only the most crucial test code or test cases.
Therefore, what is needed is a method and an apparatus which enables the framework and application code associated with an API to be efficiently tested. That is, what is desired is an API test tool that provides a framework which allows API tests to be readily developed.